<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
 * Summary : 博客文章表
 * Author : Steven Wang
 * Date : 29 Sep,2011
 */
class Articles extends CI_Model
{
    private $_name = "blog_articles";
    
    function __construct()
    {
        parent::__construct();
    }
    
    /*
     * Date : 03 Oct,2011
     * Summary : 获取博客首页的文章列表(ID数组)
     * Params : 
     *      <Int>$page_id : 列表分页号，默认值为1
     * Return :
     *      <Array> 文章ID数组，格式如下
               array
                  0 => 
                    array
                      'Blog_Article_ID' => string '3' (length=1)
                  1 => 
                    array
                      'Blog_Article_ID' => string '2' (length=1)
                  2 => 
                    array
                      'Blog_Article_ID' => string '1' (length=1)
     */
    function getArticleIdCollection($page_id = 1)
    {
        // 从配置文件中读取设定的文章列表大小
        $article_list_size = $this->config->config["article_list_size"];
        $this->db
             ->select(array(
                 "Blog_Article_ID",            // 文章ID
             ))
             ->from($this->_name)
             ->order_by("Blog_Article_PublishTime", "DESC")
             ->limit(
                        $article_list_size,     // 文章列表大小
                        $page_id - 1            // 分页号
                     );
        $query = $this->db->get();
        return $query->result_array();
    }
    
    /*
     * ******* 已废弃 *******
     *
     * Date : 29 Sep,2011
     * Summary : 获取博客首页的文章列表
     * Params : 
     *      <Int>$page_id : 列表分页号，默认值为1
     * Return :
     *      <Array> 文章基本信息
     */
    function getArticleList($page_id = 1)
    {
        // 从配置文件中读取设定的文章列表大小
        $article_list_size = $this->config->config["article_list_size"];
        $this->db
             ->select(array(
                 "Blog_Article_ID",            // 文章ID
                 "Blog_Article_Title",         // 文章标题
                 "Blog_Article_Author",        // 文章作者
                 "DATE_FORMAT(Blog_Article_PublishTime,'%d %b %Y') AS Blog_Article_PublishDate",   // 文章发布日期
                 "Blog_Article_Excerpt",       // 文章简介
                 "Blog_Article_VisitNum",      // 文章浏览数
                 "Blog_Article_CommentNum",    // 文章评论数
                 "Blog_Article_IsRecommend"    // 文章是否推荐
             ))
             ->from($this->_name)
             ->order_by("Blog_Article_PublishTime", "DESC")
             ->limit(
                        $article_list_size,     // 文章列表大小
                        $page_id - 1            // 分页号
                     );
        $query = $this->db->get();
        return $query->result_array();
    }
    
    /*
     * Date : 08 Oct,2011
     * Summary : 获取博客列表的文章项
     * Params : 
     *     <Int>$article_id : 根据文章编号读取文章项
     */
    function getArticleItem($article_id)
    {
        $this->db
             ->select(array(
                 "Blog_Article_ID",            // 文章ID
                 "Blog_Article_Title",         // 文章标题
                 "Blog_Article_Author",        // 文章作者
                 "DATE_FORMAT(Blog_Article_PublishTime,'%d %b %Y') AS Blog_Article_PublishDate",   // 文章发布日期
                 "Blog_Article_Excerpt",       // 文章简介
                 "Blog_Article_VisitNum",      // 文章浏览数
                 "Blog_Article_CommentNum",    // 文章评论数
                 "Blog_Article_IsRecommend"    // 文章是否推荐
             ))
             ->from($this->_name)
             ->where("Blog_Article_ID",$article_id);
        $query = $this->db->get();
        return $query->result_array();
    }
        
    /*
     * Date : 29 Sep,2011
     * Summary : 获取博客文章
     * Params : 
     *     <Int>$article_id : 根据文章编号读取文章
     * Return :
     *      array
     *      { 
     *          ["Blog_Article_ID"]=> string(1) ...
     *          ["Blog_Article_Title"]=> string(46) ...
     *          ...
     *      }
     */
    function getArticle($article_id)
    {
        $this->db
             ->select(array(
                 "Blog_Article_ID",            // 文章ID
                 "Blog_Article_Title",         // 文章标题
                 "Blog_Article_Author",        // 文章作者
                 "DATE_FORMAT(Blog_Article_PublishTime,'%d %b %Y') AS Blog_Article_PublishDate",   // 文章发布日期
                 "Blog_Article_Content",       // 文章内容
                 "Blog_Article_VisitNum",      // 文章浏览数
                 "Blog_Article_CommentNum",    // 文章评论数
                 "Blog_Article_IsRecommend"    // 文章是否推荐
             ))
             ->from($this->_name)
             ->where("Blog_Article_ID",$article_id);
        $query = $this->db->get()->result_array();
        return $query[0];
    }
}
?>
